#include <iostream>
#include <vector>
using namespace std;

const int MAX_VALUE = 100005;

int main() {
  int n;
  cin >> n;

  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }

  vector<int> unique_count(n + 1, 0);
  vector<bool> seen(MAX_VALUE + 1, false);

  // 从后向前计算唯一元素的数量
  for (int i = n - 1; i >= 0; i--) {
    unique_count[i] = unique_count[i + 1];
    if (!seen[a[i]]) {
      seen[a[i]] = true;
      unique_count[i]++;
    }
  }

  long long ans = 0;
  fill(seen.begin(), seen.end(), false);

  // 从前向后计算唯一对的数量
  for (int i = 0; i < n - 1; i++) {
    if (!seen[a[i]]) {
      seen[a[i]] = true;
      ans += unique_count[i + 1];
    }
  }

  cout << ans << endl;

  return 0;
}
